<?xml version="1.0"?>
<doc>
    <assembly>
        <name>Rhino.Commons</name>
    </assembly>
    <members>
        <member name="T:Rhino.Commons.Helpers.SqlCEDbHelper">
            <summary>
            this class is here so I can avoid having a reference to the System.Data.SqlServerCe.dll if I don't need it.
            </summary>
        </member>
        <member name="T:Rhino.Commons.Logging.ActiveLoggerFilterScope">
            <summary>
            Filter out all log entries made by loggers except for the activeLogger supplied
            within the scope of a <see langword="using" /> statement
            </summary>
            <remarks>
            Be aware that after disposing of an instance of this class,
            ALL registered appenders will no longer be listening to
            log entries.
            </remarks>
        </member>
        <member name="T:Rhino.Commons.Logging.AsyncBulkInsertAppender">
            <summary>
             Writes to the database using SqlBulkCopy in async manner.
             This appender ensures that even if the database is down or takes a long time to respond
             the application is not being affected. 
             This include avoid trains in the thread pool, which would kill scalaiblity.
            </summary>
             <example>
             An example of a SQL Server table that could be logged to:
             <code lang="SQL">
             CREATE TABLE [dbo].[Log] ( 
               [ID] [int] IDENTITY (1, 1) NOT NULL ,
               [Date] [datetime] NOT NULL ,
               [Thread] [varchar] (255) NOT NULL ,
               [Level] [varchar] (20) NOT NULL ,
               [Logger] [varchar] (255) NOT NULL ,
               [Message] [varchar] (4000) NOT NULL 
             ) ON [PRIMARY]
             </code>
             </example>
             <example>
             An example configuration to log to the above table.
             IMPORTANT: Column names are Case Sensitive!
             <code lang="XML" escaped="true">
            <appender name="BulkInsertLogger"
            		  type="Rhino.Commons.Logging.AsyncBulkInsertAppender, Rhino.Commons">
            	<bufferSize value="1000" />
            	<tableName value="Logs"/>
            	<connectionStringName value="Logging"/>
            
            	<filter type="log4net.Filter.LoggerMatchFilter">
            		<loggerToMatch  value="NHiberante.SQL" />
            		<acceptOnMatch value="false" />
            	</filter>
            	<filter type="log4net.Filter.LoggerMatchFilter">
            		<loggerToMatch  value="Rhino.Commons.HttpModules.PagePerformanceModule" />
            		<acceptOnMatch value="false" />
            	</filter>
            	<filter type="log4net.Filter.LevelRangeFilter">
            		<LevelMax value="WARN" />
            		<LevelMin value="INFO" />
            		<acceptOnMatch value="true" />
            	</filter>
            
            	<mapping>
            		<column value="Date" />
            		<layout type="log4net.Layout.RawTimeStampLayout" />
            	</mapping>
            	<mapping>
            		<column value="Thread" />
            		<layout type="log4net.Layout.PatternLayout">
            			<conversionPattern value="%thread" />
            		</layout>
            	</mapping>
            	<mapping>
            		<column value="Level" />
            		<layout type="log4net.Layout.PatternLayout">
            			<conversionPattern value="%level" />
            		</layout>
            	</mapping>
            	<mapping>
            		<column value="Logger" />
            		<layout type="log4net.Layout.PatternLayout">
            			<conversionPattern value="%logger" />
            		</layout>
            	</mapping>
            	<mapping>
            		<column value="Message" />
            		<layout type="log4net.Layout.PatternLayout">
            			<conversionPattern value="%message" />
            		</layout>
            	</mapping>
            	<mapping>
            		<column value="Exception" />
            		<layout type="log4net.Layout.ExceptionLayout" />
            	</mapping>
            	
            </appender>
             </code>
             </example>
        </member>
        <member name="P:Rhino.Commons.Logging.AsyncBulkInsertAppender.ConnectionStringName">
            <summary>
            Gets or sets the name of the connection string.
            </summary>
            <value>The name of the connection string.</value>
        </member>
        <member name="T:Rhino.Commons.Logging.RollingEmbeddedDatabaseAppender">
            <summary>
            Default parameters are set for:
            @Date, @Thread, @Level, @Logger, @Message, @Exception
            </summary>
        </member>
        <member name="P:Rhino.Commons.Logging.RollingEmbeddedDatabaseAppender.TableName">
            <summary>
            The name of the table (used when calculating row counts).
            Defaults to "Logs"
            </summary>
        </member>
        <member name="P:Rhino.Commons.Logging.RollingEmbeddedDatabaseAppender.FileNameFormat">
            <summary>
            The file format that will be created.
            The default is for:
            {0}.log4net
            Where {0} is the current process name
            </summary>
        </member>
        <member name="P:Rhino.Commons.Logging.RollingEmbeddedDatabaseAppender.Directory">
            <summary>
            The directory to put the logs files at.
            Defaults to the current directory.
            </summary>
        </member>
        <member name="P:Rhino.Commons.Logging.RollingEmbeddedDatabaseAppender.MaxNumberOfRows">
            <summary>
            Max number of rows per file.
            Defaults to 50,000
            </summary>
        </member>
        <member name="P:Rhino.Commons.Logging.RollingEmbeddedDatabaseAppender.MaxNumberOfBackups">
            <summary>
            Number of backup files to use.
            Defaults to 3
            </summary>
        </member>
        <member name="T:Rhino.Commons.ConfigurationObjectAttribute">
            <summary>
            Marker attribute that marks a type as one that is used as a configuration
            object.
            </summary>
        </member>
        <member name="T:Rhino.Commons.ConfigurationObjectConverter">
            <summary>
            Perform the conversion by mapping the configuration values
            to the object properties.
            </summary>
        </member>
        <member name="M:Rhino.Commons.IoC.TryResolve``1">
            <summary>
            Tries to resolve the component, but return null
            instead of throwing if it is not there.
            Useful for optional dependencies.
            </summary>
            <typeparam name="T"></typeparam>
            <returns></returns>
        </member>
        <member name="M:Rhino.Commons.IoC.TryResolve``1(``0)">
            <summary>
            Tries to resolve the compoennt, but return the default 
            value if could not find it, instead of throwing.
            Useful for optional dependencies.
            </summary>
            <typeparam name="T"></typeparam>
            <param name="defaultValue">The default value.</param>
            <returns></returns>
        </member>
        <member name="M:Rhino.Commons.IoC.UseLocalContainer(Castle.Windsor.IWindsorContainer)">
            <summary>
            This allows you to override the global container locally
            Useful for scenarios where you are replacing the global container
            but needs to do some initializing that relies on it.
            </summary>
            <param name="localContainer"></param>
            <returns></returns>
        </member>
        <member name="T:Rhino.Commons.RhinoThreadPool">
            <summary>
            The code originate from this MSDN article: 
            http://msdn.microsoft.com/msdnmag/issues/06/03/NETMatters/
            with my own additions to it later on, such as CancelAll(), WorkStarted, WorkFinished, etc.
            </summary>
        </member>
        <member name="F:Rhino.Commons.RhinoThreadPool._threads">
            <summary>
            Any modification to this variable should be done under the _callbacks lock!
            </summary>
        </member>
        <member name="E:Rhino.Commons.RhinoThreadPool.WorkStarted">
            <summary>
            Guranteed to be called before a work item starts executing
            </summary>
        </member>
        <member name="E:Rhino.Commons.RhinoThreadPool.WorkFinished">
            <summary>
            Guranteed to be called after a work item has finished executing (but not if the thread was forcefully aborted).
            </summary>
        </member>
        <member name="P:Rhino.Commons.WorkItem.Cancelled">
            <summary>
            Gets or sets a value indicating whether this <see cref="T:Rhino.Commons.WorkItem"/> is canceled.
            This is valid if and only if the work item has not started running yet.
            If the WorkItem has started running, it is ignored
            </summary>
            <value><c>true</c> if cancelledRun; otherwise, <c>false</c>.</value>
        </member>
        <member name="T:Rhino.Commons.CountdownLatch">
            <summary>
            Allows a master thread to wait for a set of
            subservient threads to complete work.
            </summary>
        </member>
        <member name="T:Rhino.Commons.SqlCommandSet">
            <summary>
            Expose the batch functionality in ADO.Net 2.0
            Microsoft in its wisdom decided to make my life hard and mark it internal.
            Through the use of Reflection and some delegates magic, I opened up the functionality.
            
            There is NO documentation for this, and likely zero support.
            Use at your own risk, etc...
            
            Observable performance benefits are 50%+ when used, so it is really worth it.
            </summary>
        </member>
        <member name="M:Rhino.Commons.SqlCommandSet.Append(System.Data.SqlClient.SqlCommand)">
            <summary>
            Append a command to the batch
            </summary>
            <param name="command"></param>
        </member>
        <member name="M:Rhino.Commons.SqlCommandSet.AssertHasParameters(System.Data.SqlClient.SqlCommand)">
            <summary>
            This is required because SqlClient.SqlCommandSet will throw if 
            the command has no parameters.
            </summary>
            <param name="command"></param>
        </member>
        <member name="M:Rhino.Commons.SqlCommandSet.ExecuteNonQuery">
            <summary>
            Executes the batch
            </summary>
            <returns>
            This seems to be returning the total number of affected rows in all queries
            </returns>
        </member>
        <member name="M:Rhino.Commons.SqlCommandSet.Dispose">
            <summary>
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            </summary>
            <filterpriority>2</filterpriority>
        </member>
        <member name="P:Rhino.Commons.SqlCommandSet.BatchCommand">
            <summary>
            Return the batch command to be executed
            </summary>
        </member>
        <member name="P:Rhino.Commons.SqlCommandSet.CountOfCommands">
            <summary>
            The number of commands batched in this instance
            </summary>
        </member>
        <member name="M:Rhino.Commons.Util.With.Log(System.String,Rhino.Commons.Proc)">
            <summary>
            Return the log entry messages created by the logger specified by
            <paramref name="loggerName"/> while executing the delegate <paramref
            name="operation"/>
            </summary>
        </member>
        <member name="M:Rhino.Commons.Util.With.Log(System.Type,Rhino.Commons.Proc)">
            <summary>
            overload for <see cref="M:Rhino.Commons.Util.With.Log(System.String,Rhino.Commons.Proc)"/>
            </summary>
        </member>
        <member name="M:Rhino.Commons.Util.With.Log``1(Rhino.Commons.Proc)">
            <summary>
            overload for <see cref="M:Rhino.Commons.Util.With.Log(System.String,Rhino.Commons.Proc)"/>
            </summary>
        </member>
        <member name="P:Rhino.Commons.XmlRead.XmlFileName">
            <summary>
            Gets or sets the name of the XML file.
            </summary>
            <value>The name of the XML file.</value>
        </member>
        <member name="P:Rhino.Commons.XmlRead.XPath">
            <summary>
            Gets or sets the XPath.
            </summary>
            <value>The XPath.</value>
        </member>
        <member name="P:Rhino.Commons.XmlRead.Value">
            <summary>
            Gets the value read from file.
            </summary>
            <value>The value.</value>
            <remarks>
            If the XPath returns multiple nodes, the values will be semicolon delimited.
            </remarks>
        </member>
        <member name="P:Rhino.Commons.XmlRead.Namespace">
            <summary>
            Gets or sets the default namespace.
            </summary>
            <value>The namespace.</value>
        </member>
        <member name="P:Rhino.Commons.XmlRead.Prefix">
            <summary>
            Gets or sets the prefix to associate with the namespace being added.
            </summary>
            <value>The namespace prefix.</value>
        </member>
        <member name="T:Rhino.Commons.XmlUpdate">
            <summary>
            Adapted from the MsBuild Community Tasks code, for use from code
            and not from MSBuild.
            </summary>
        </member>
        <member name="P:Rhino.Commons.XmlUpdate.XmlFileName">
            <summary>
            Gets or sets the name of the XML file.
            </summary>
            <value>The name of the XML file.</value>
        </member>
        <member name="P:Rhino.Commons.XmlUpdate.XPath">
            <summary>
            Gets or sets the XPath.
            </summary>
            <value>The XPath.</value>
        </member>
        <member name="P:Rhino.Commons.XmlUpdate.Value">
            <summary>
            Gets or sets the value to write.
            </summary>
            <value>The value.</value>
        </member>
        <member name="P:Rhino.Commons.XmlUpdate.Namespace">
            <summary>
            Gets or sets the default namespace.
            </summary>
            <value>The namespace.</value>
        </member>
        <member name="P:Rhino.Commons.XmlUpdate.Prefix">
            <summary>
            Gets or sets the prefix to associate with the namespace being added.
            </summary>
            <value>The namespace prefix.</value>
        </member>
    </members>
</doc>
